<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Db;


/**
 * 对导航条分类进行管理
 * @package app\admin\controller
 */
class Classify extends AdminController
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $data = Db::name('index_navigation')->select();

        //按住父子类输出，树状图
        $data = getTree1($data,$id=0,$count=0);
        //渲染输出列表页
        return view('classify/index',[
            'title'=>'导航分类管理列表',
            'data'=>$data,
        ]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //查询分类信息列表
        $data = Db::name('index_navigation')->select();
        //按住父子类输出，树状图
        $data = getTree1($data,$id=0,$count=0);

        //渲染输出添加列表页
        return view('classify/add',[
            'title'=>'房屋环境分类列表',
            'data'=>$data,
            'info'=>0,
        ]);
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //接受传来的分类信息
        $p = $request->post();

        //处理接受来的数据
        $data = [
            'cate_name' => $p['cate_name'],
            'cid' => $p['cid'],
            'href_path'=>$p['href_path'],
        ];
       // var_dump($p);
        //把传来的数据插入数据表
        $result = Db::name('index_navigation')->data($data)->insert();
        //对插入的数据进行判断
        if ($result > 0) {
            return $this->success('添加成功', url('admin/classify/index'));
        } else {
            return $this->error('添加失败');
       }



    }
    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //查询输出要编辑的分类名称
        $row= Db::name('index_navigation')->find($id);

//        var_dump($row);
//        渲染输出编辑页面
        return view('classify/edit',[
            'title'=>'资源编辑',
            'data'=>$row,
        ]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $info = $request->put();

        $data = [
            'cate_name' => $info['cate_name'],
            'href_path'=>$info['href_path'],
        ];
        $result = Db::name('index_navigation')->where('id', $id)->update($data);
        if ($result) {
            return $this->success('编辑成功', url('admin/classify/index'));
        } else {
            return $this->error('编辑失败');
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $list = Db::name('index_navigation')->where('cid',$id)->select();



        if(empty( $list)){
            //删除请求的节点
            $result = Db::name('index_navigation')->delete($id);


            if ($result) {
                $info['status'] = true;
                $info['id'] = $id;
                $info['info'] = 'ID为:' . $id . '的类名删除成功';
            } else {
                $info['status'] = false;
                $info['id'] = $id;
                $info['info'] = 'ID为:' . $id . '的类名删除失败,请重试!';
            }
            return json($info);
        }else{
            $info['status'] = false;
            $info['id'] = $id;
            $info['info'] = 'ID为:' . $id . '的类名有子类不能删除!';

            return json($info);
        }
    }
}
